package com.wang.users.service;

import com.wang.common.pojo.ApiResponse;
import com.wang.common.util.PageInfoUtil;
import com.wang.users.pojo.AQuesDetail;
import com.wang.users.pojo.AQuesDesc;
import com.wang.users.pojo.AUsers;

import java.util.Map;

/**
 * 用户模块的Service
 *
 * @author wangshMac
 */
public interface IQuesDbService {
    /*----- 题目概要模块管理开始 -----*/

    /**
     * 添加一条题目概要
     *
     * @param pojo 题目概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> saveOneQuesDescService(AQuesDesc pojo);

    /**
     * 更新一条题目概要
     *
     * @param pojo 题目概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> updateOneQuesDescService(AQuesDesc pojo);

    /**
     * 删除一条题目概要
     *
     * @param condMap 删除的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> deleteOneQuesDescService(Map<String, Object> condMap);

    /**
     * 查询多条题目概要
     *
     * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
     * @param condMap      搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AQuesDesc
     */
    ApiResponse<AQuesDesc> findCondListQuesDescService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

    /**
     * 查询一条题目概要
     *
     * @param condMap 搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AQuesDesc
     */
    ApiResponse<AQuesDesc> findOneQuesDescService(Map<String, Object> condMap);
    /*----- 题目概要模块管理结束 -----*/

    /*----- 题目明细模块管理开始 -----*/

    /**
     * 添加一条题目明细
     *
     * @param pojo 题目明细的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> saveOneQuesDetailService(AQuesDetail pojo);

    /**
     * 更新一条题目明细
     *
     * @param pojo 题目明细的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> updateOneQuesDetailService(AQuesDetail pojo);

    /**
     * 删除一条题目明细
     *
     * @param condMap 删除的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> deleteOneQuesDetailService(Map<String, Object> condMap);

    /**
     * 查询多条题目明细
     *
     * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
     * @param condMap      搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AQuesDetail
     */
    ApiResponse<AQuesDetail> findCondListQuesDetailService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

    /**
     * 查询一条题目明细
     *
     * @param condMap 搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AQuesDetail
     */
    ApiResponse<AQuesDetail> findOneQuesDetailService(Map<String, Object> condMap);
    /*----- 题目明细模块管理结束 -----*/
}